Print control method, print control apparatus, print control program for performing computer-executable print data process, and computer-readable memory medium

ABSTRACT

Display control is made so as to obtain an optimum setting picture plane in accordance with a change in designation of an outputting method of a distribution print, a multiple address print, an automatic substitute print, or the like without allowing the user to be conscious therewith.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The invention relates to a print control method and a printcontrol apparatus for executing a printing process in correspondence toa draw command from an application and also relates to a print controlprogram for performing a print data process which can be executed by acomputer and a memory medium in which a computer-readable program hasbeen stored.

[0003] 2. Related Background Art

[0004] In recent years, a network apparatus is generally used and anumber of personal computers (hereinafter, abbreviated to “PCs”) andprinters are connected onto the network. In such a network environment,when printing, with respect to a document having a number of pages or adocument having a number of copies, in order to shorten a printing time,a system (distribution print system) such that a print job is oncespooled, distributed, and outputted page by page or copy by copy to aplurality of printers has been known.

[0005] Further, in such a network environment, in order to reduce costsupon printing and shorten a printing time for one document in whichcolor pages and monochromatic pages exist mixedly, a system(color/monochromatic distribution print system) such that the colorpages are distributed and outputted to a color printer and themonochromatic pages are distributed and outputted to a monochromaticprinter has been known.

[0006] Moreover, in such a network environment, a system (multipleaddress print system) such that one document is simultaneouslytransmitted to a plurality of printers and printed by one printinstruction has been known.

[0007] In addition, in such a network environment, a system (errorsubstitute print system) such that for a document transmitted to oneprinter, if an error occurs in the printer, it is automatically switchedto another printer and the document is printed has been known.

[0008] In a general printer driver, fundamental set information (forexample, the number of print copies and permission/inhibitioninformation of a duplex print) which is necessary for an ordinaryprinting process has been stored in an area called a common area (PublicDEVMODE) of driver set information. It has been known that in theinformation set in such an area, set items can be read out and writteneven by a different printer vender.

[0009] As functions which are peculiar to the printer, for example, astapling function, a punching function, and a book-binding printingfunction have been stored in an expansion area (expanded DEVMODE) of thedriver set information. It has also been known that in the setinformation in such an area, a format differs in dependence on theprinter vender.

[0010] A virtual printer driver for issuing print instructions in thelump to a plurality of printer devices as described above has also beenknown.

[0011] However, in a user interface of the conventional virtual printerdriver, each of a plurality of outputting methods and a printer driverserving as a target in each outputting method are not made to correspondto each other. Each time the user changes the outputting method, it isnecessary to reconstruct the target printer driver (corresponding to acorresponding printer device), or each time the user reconstructs thetarget printer driver, it is necessary to change and reset a printsetting.

[0012] Since it is troublesome to reset the print setting each time theoutputting method is changed, there is also a method of setting items inthe print setting to fixed contents. However, according to such amethod, the contents of print set items to be set in the lump arelimited to a minimum setting range (for example, a paper size is set toonly A4 or the like) which is adaptable to any printer, so that such aconstruction is not a mechanism of the print setting such thatfunctions/ability of each printer are sufficiently utilized.

[0013] In the distribution print, color/monochromatic distributionprint, multiple address print, substitute print, and the like describedabove, it is presumed that a combination of optimum target printersproperly differs in dependence on each outputting method. It is verytroublesome and difficult for the user to memorize a combination of aplurality of printers every outputting method.

SUMMARY OF THE INVENTION

[0014] The invention is made in consideration of the above problems andit is an object of the invention to provide a mechanism such that theuser can easily perform print setting without being conscious ofmatching performance of the print setting which is changed in accordancewith a change in outputting method. To accomplish the above object,according to the invention, there is provided a mechanism to realize aprint control method by a virtual printer which can control a pluralityof member printers, comprising: a switching step of switching anoutputting method in accordance with an instructed one of a plurality ofoutputting methods which can be controlled by the virtual printer; and acontrol step of controlling so as to switch a display of a userinterface for setting the outputting method in accordance with a kind ofoutputting method switched by the switching step. For example, when aprinter driver is constructed every outputting method such asdistribution print, multiple address print, automatic substitute print,or the like, a reconstruction of a combination of the printer driverscan be easily realized.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a block diagram for explaining a construction of aninformation processing system to which the invention can be applied;

[0016]FIG. 2 is a block diagram for explaining a construction of aninformation processing apparatus of the invention;

[0017]FIG. 3 shows an example of a memory map in an RAM 202 shown inFIG. 2;

[0018]FIG. 4 shows an example of a memory map in an FD 204 shown in FIG.2;

[0019]FIG. 5 is a diagram showing a relation of the FD 204 which isinserted into an FD drive 203 shown in FIG. 2;

[0020]FIG. 6 is a block diagram for explaining a construction of printcontrol modules of the information processing apparatus of theinvention;

[0021]FIG. 7 shows an example of a data structure of job informationwhich is managed by a print server;

[0022]FIG. 8 is a diagram showing a structure of a general print file;

[0023]FIG. 9 is a control flowchart showing the operation of a groupprinter driver;

[0024]FIG. 10 is a table showing a correspondence between constructionsof member printer drivers and items which can be set;

[0025]FIG. 11 is a table showing a correspondence among common setitems, expansion set items, and set items;

[0026]FIG. 12 is a table for explaining a mechanism of a conflictprocess;

[0027]FIG. 13 is a control flowchart showing the operation of the groupprinter driver;

[0028]FIG. 14 is a control flowchart showing the operation of the groupprinter driver;

[0029]FIG. 15 is a control flowchart showing the operation of the groupprinter driver;

[0030]FIGS. 16A and 16B are diagrams each showing an example of adisplay state of a group printer driver UI subjected to display control;

[0031]FIG. 17 is a control flowchart showing the operation of the groupprinter driver corresponding to a designated outputting method;

[0032]FIG. 18 is a diagram showing an example of a display state of theUI at the time when a ratio distribution print has been designated as anoutputting method;

[0033]FIG. 19 is a diagram showing an example of a display state of theUI having adding/deleting (registering) functions of the member printerdriver;

[0034]FIG. 20 is a diagram showing an example of a display state of theUI for setting details of the outputting method;

[0035]FIG. 21 is a diagram showing an example of a display state of theUI at the time when a color/black and white distribution print has beendesignated as an outputting method;

[0036]FIG. 22 is a diagram showing an example of a display state of theUI at the time when a multiple address print has been designated as anoutputting method;

[0037]FIG. 23 is a diagram showing an example of a display state of theUI at the time when a automatic substitute print has been designated asan outputting method; and

[0038]FIG. 24 is an operation flowchart for obtaining attributeinformation of the member printer driver in the group printer driver.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0039] (First Embodiment)

[0040] A preferred embodiment to which the invention is applied will bedescribed hereinbelow.

[0041]FIG. 1 is a block diagram for explaining a construction of aninformation processing system to which the invention can be applied. Itis presumed that in the present system, one or a plurality of clientcomputers are connected.

[0042] In FIG. 1, reference numerals 102, 103, and 104 denoteinformation processing apparatuses serving as client computers(clients). These client computers are connected to a network 106 by anetwork cable such as Ethernet (registered trademark) or the like andcan execute various programs such as an application program and thelike. A printer driver having a function for converting print data intoa printer language corresponding to a printer has been installed in eachinformation processing apparatus. It is assumed that the printer driversupports a plurality of printer drivers.

[0043] Reference numeral 101 denotes an information processing apparatusserving as a server (hereinafter, referred to as a print server) in theembodiment. The print server 101 is connected to the network 106 by thenetwork cable, accumulates files which are used by the network, andmonitors a use status of the network 106. The print server 101 manages aplurality of printers connected to the network 106.

[0044] As a construction, the clients 102 to 104 and the print server101 are general information processing apparatuses. Print controlprograms each for making different control have been stored in theclients and the print server so that they can be executed.

[0045] The print server 101 is the general information processingapparatus and can also have the functions of the clients 102 to 104.

[0046] The print server 101 in the embodiment further has a functionsuch that print jobs including print data whose print request has beenissued from the client computers 102, 103, and 104 are stored and theprint data is printed, or only job information including no print datais received from the client computers 102, 103, and 104, printing orderof the client computers 102, 103, and 104 is managed, and the clientwhose printing order has come is notified of permission of transmissionof the print job including the print data, or various information suchas status and print job of a network printer 105 is obtained andnotified to the client computers 102, 103, and 104, respectively.

[0047] Reference numeral 105 denotes the network printer serving as aprint control apparatus which is connected to the network 106 via anetwork interface (not shown). The network printer 105 analyzes theprint job including the print data which is transmitted from the clientcomputer, converts it into a dot image one page by one, and prints theprint data every page. Reference numeral 106 denotes the networkconnected to the client computers 102, 103, and 104, server 101, networkprinter 105, and the like.

[0048]FIG. 2 is a block diagram for explaining a construction of theinformation processing apparatus of the invention. Each of the clientcomputers 102, 103, and 104 as information processing apparatuses alsohas the same construction as that shown in the diagram. Further, theserver 101 also has a hardware construction which is similar orsubstantially equivalent to that shown in the diagram. Therefore, anexplanation will be made on the assumption that FIG. 2 is a blockdiagram for explaining the construction of the clients and server.

[0049] In FIG. 2, reference numeral 200 denotes a CPU as control meansof the information processing apparatus. The CPU 200 makes control in amanner such that an application program, a printer driver program, anOS, a network printer control program of the invention, or the likewhich has been stored in a hard disk (HD) 205 is executed andinformation, files, and the like which are necessary to execute theprogram are temporarily stored into an RAM 202.

[0050] Reference numeral 201 denotes an ROM as storing means. Programssuch as a basic I/O program and the like and various data such as fontdata, data for template, and the like which are used for a documentprocess are stored in the ROM 201. Reference numeral 202 denotes the RAMas temporary storing means. The RAM 202 functions as a main memory, awork area, or the like of the CPU 200.

[0051] Reference numeral 203 denotes a floppy (registered trademark)disk (FD) drive as memory medium reading means. A program or the likestored in an FD 204 as a memory medium can be loaded into the computersystem via the FD drive 203 as shown in FIG. 5, which will be explainedhereinlater. The memory medium is not limited to the FD but an arbitrarymedium such as CD-ROM, CD-R, CD-RW, PC card, DVD, IC memory card, MO,memory stick, or the like can be used.

[0052] Reference numeral 204 denotes the floppy disk (FD) as a memorymedium in which a computer-readable program has been stored.

[0053] Reference numeral 205 denotes one of external storing means andindicates the hard disk (HD) which functions as a memory having a largecapacity. The application program, printer driver program, OS, networkprinter control program, related program, and the like have been storedon the HD 205. Further, a spooler as spooling means is held in the HD205. The spooling means is a client spooler in case of the client and aserver spooler in case of the print server. The job information receivedfrom the clients is stored in the print server and a table for makingorder control is also formed and stored in the external storing means.

[0054] Reference numeral 206 denotes a keyboard as instruction inputmeans. The user instructs the client computer to input a command such asa control command or the like of a device by the keyboard 206, or theoperator or the administrator instructs the print server to input thecommand such as a control command or the like of the device by thekeyboard 206.

[0055] Reference numeral 207 denotes a display as display means fordisplaying the command inputted from the keyboard 206, a status of theprinter, or the like.

[0056] Reference numeral 208 denotes a system bus for controlling a flowof data in the computer serving as a client or a print server.

[0057] Reference numeral 209 denotes an interface as input/output means.The information processing apparatus transmits and receives data to/froman external apparatus via the interface 209.

[0058]FIG. 3 is a diagram showing an example of a memory map in the RAM202 shown in FIG. 2. This diagram shows the memory map in a state wherethe network printer control program which is loaded from the FD 204 isloaded into the RAM 202 and can be executed.

[0059] In the embodiment, this diagram shows an example in which thenetwork printer control program and related data are directly loadedfrom the FD 204 into the RAM 202 and executed. However, as anotherexample, each time the network printer control program is made operativefrom the FD 204, such a program can be also loaded into the RAM 202 fromthe HD 205 on which the network printer control program has already beeninstalled.

[0060] The medium for storing the network printer control program is notlimited to the FD but a CD-ROM, a CD-R, a PC card, a DVD, or an ICmemory card can be also used. Further, it is also possible to constructin a manner such that the network printer control program is stored inthe ROM 201 and constructed as a part of the memory map and is directlyexecuted by the CPU 200.

[0061] Software for realizing functions similar to those of theforegoing apparatuses can be also substituted for the hardwareapparatuses.

[0062] The network printer control program is also simply referred to asa print control program. The print control program includes a programfor making control so as to allow the client to instruct a change inprint destination of the print job or a change in printing order. Theprint control program also includes a program for allowing the printserver to make order control of the print jobs or make a notification ofa print end, a request for changing the print destination, or the likeof the print job. In the print control program of the invention formaking such control, a module which is installed in the client and amodule which is installed in the print server can be also separatelyprovided. Or, it is also possible to construct in a manner such that oneprint control program functions as a program for the clients or aprogram for the print server in accordance with an environment where itis executed. Or, it is also possible to construct in a manner such thatboth of a module having the function for the client and a module whichfunctions as a program for the print server are installed into onecomputer, and they are simultaneously made operative ortime-divisionally made operative in parallel in a pseudo manner.

[0063] Reference numeral 301 denotes a basic I/O program. A programhaving an IPL (Initial Program Loading) function such that when a powersource of the control apparatus is turned on, the OS is read out fromthe HD 205 and stored into the RAM 202 and the operation of the OS isstarted, or the like has been stored in an area of the basic I/O program301.

[0064] Reference numeral 302 denotes an operating system (OS); 303 anetwork printer control program which is stored in an area held on theRAM 202; 304 related data which is stored in an area held on the RAM202; and 305 a work area in which an area where the CPU 200 executes theprint control program is held.

[0065]FIG. 4 is a diagram showing an example of the memory map in the FD204 shown in FIG. 2.

[0066] In FIG. 4, reference numeral 400 denotes data contents in the FD204; 401 volume information showing information of the data; 402directory information; 403 a network printer control program as a printcontrol program, which will be explained in the embodiment; and 404 itsrelated data. The network printer control program 403 is a program basedon flowcharts, which will be explained in the embodiment. In theembodiment, both of the client and the server have a similarconstruction.

[0067]FIG. 5 is a diagram showing a relation of the FD 204 which isinserted into the FD drive 203 shown in FIG. 2. In FIG. 5, the samecomponent elements as those in FIG. 2 are designated by the samereference numerals.

[0068] In FIG. 5, the network printer control program and related data,which will be explained in the embodiment, have been stored in the FD204.

[0069] A print job control system for executing a print process such asdistribution, multiple address, or substitution mentioned above by usinga plurality of printers in the embodiment will now be described.

[0070] In the embodiment, a printer for virtually binding a plurality ofprinters as one printer is called a group printer, and the printerswhich are bound are called member printers. A printer drivercorresponding to the group printer is called a group printer driver. Aprinter driver corresponding to the member printer is called a memberprinter driver.

[0071]FIG. 6 is a diagram showing a manner by which a print job issuedfrom a general application such as “Microsoft Word” or the like in theclient server model of the present system is processed in the print jobcontrol system. In FIG. 6, reference numeral 600 denotes a clientmachine in which the client module of the print job control systemoperates.

[0072] Usually, when the print is instructed, the application programforms a series of draw commands and transfers them to a Windows spoolervia the printer driver. The Windows spooler takes a procedure fortransferring print job data to a port monitor selected by the user andtransmitting it to a printer device.

[0073] In the embodiment, the user preliminarily designates a portmonitor 621 for the print job control system (hereinafter, it isabbreviated to a job control port monitor in the embodiment) andinstructs the print. An application program 601 forms a series of drawcommands. A group printer driver 603 which received the draw commandsforms a general print file and transmits it as print job data to the jobcontrol port monitor 621 instead of a port monitor which transmits theprint job data to the printer device. The job control port monitor 621does not transmit the print job data to a printer device 650 buttransmits it to a print service 622 for the print job control system(hereinafter, it is abbreviated to a job control print service in theembodiment). The job control print service 622 executes a print jobcontrol process, as will be explained hereinlater, to the print jobdata.

[0074] A print manager 623 for the print job control system(hereinafter, it is abbreviated to a job control print manager in theembodiment) is a program for allowing the user to examine in whichstatus the print job is in the job control print service 622 orproviding a user interface (UI) for operating the print job.

[0075] The job control print manager 623 transmits and receivesinformation and instructions to/from the job control print service 622via an interface (API) of software of the job control print service 622.

[0076] A server 630 for the print job control system (hereinafter, it isabbreviated to a job control server in the embodiment) concentratedlycontrols (schedules) timing when the job control print service 622 oneach client 600 transmits the print job data to the printer device 650.

[0077] A management console 633 for the print job control system(hereinafter, it is abbreviated to a job control management console inthe embodiment) can monitor the whole print job control system bytransmitting and receiving information and instructions to/from the jobcontrol server 630 via the API for allowing software which the jobcontrol server 630 has to access.

[0078] The job control server 630 communicates with each printer device650 by using a device information control module 631, obtainsinformation regarding the print job and an operation mode in eachprinter, and executes the operation. The obtained information can betransferred to the job control print service 622 on the client 600 side.

[0079] A print from the group printer driver 603 in the embodiment willbe described hereinbelow.

[0080] The group printer driver 603 converts the series of draw commandsformed by the application program into the general print file as a fileof an intermediate format which does not depend on the kind of printerdevice. A construction of the general print file will be explainedhereinlater.

[0081] As mentioned above, this general print file is guided from aWindows spooler 604 via the job control port monitor 621 (a) to the jobcontrol print service 622 (b). In accordance with a kind of job controlwhich is made to the print job, the job control print service 622 formsa draw command on the basis of the general print file (c). Subsequently,a PDL driver 602 converts the draw command into a PDL file which can beinterpreted by the printer. device 650. FIG. 6 shows the example inwhich job control for dividing the print job into two jobs is executedto such a print job by the job control print service 622. Examples inwhich two member jobs were formed are shown by two arrows (c). The PDLfile formed by the PDL driver 602 is transmitted via the Windows spooler604 and the job control port monitor 621 (d) and again transferred tothe job control print service 622 (e). The job control print service 622transmits the print job data of the PDL to the printer device 650 inaccordance with an instruction of the job control server 630 (f).

[0082] In accordance with an instruction of a print instruction text inthe general print file, the job control print service 622 logicallydivides one general print file into a plurality of print jobs, transmitsthem to different printer devices, or retransmits the print job datawhich was once transmitted to another printer device. Referencecharacters (c), (d), (e), and (f) in FIG. 6 show a path of the print jobdata in such a case.

[0083] In the case where application software forms a general print fileand the application software directly inputs the general print file as aprint job, a method of transferring information to the group printerdriver 603 and process contents in the group printer driver 603 aredifferent from those of a general application. As mentioned above, incase of the general application, when draw information is transferred tothe group printer driver 603, the application calls a GDI function ofWindows in a manner similar to that of the ordinary printer driver andthe group printer driver 603 forms a general print file in accordancewith the GDI function. On the other hand, in case of an application fordirectly forming a general print file, the application has already hadthe general print file and supplies it to the group printer driver 603.The group printer driver 603 rewrites a print instruction text in thegeneral print file on the basis of a preset printing method as necessaryand sends it to the Windows spooler 604.

[0084]FIG. 8 is a diagram showing an example of a construction of ageneral print file.

[0085] The general print file which is used in the embodiment comprisesa print instructing portion 8-a and a document data portion 8-b. Theprint instructing portion is a portion describing information of adocument and a print instruction. The document data is data obtained byconverting data of the document of the application into data in ageneral format and has a data format which does not depend on a printerlanguage.

[0086] The print instructing portion is constructed by a header portion,a page information portion, a print style instructing portion, anoutputting method designating portion, a group printer driver setinformation portion, the number of member printers, a member printerdriver name, a member printer driver set information portion, and thelike.

[0087] The header portion is a portion to store information such asversion identification, file information, and the like of the file.

[0088] The page information portion is a portion to store informationsuch as the number of pages of the document data in the document dataportion 8-b, size of each page, and the like.

[0089] The print style instructing portion is a portion to storeinformation regarding an output style, such as print page range, thenumber of print sheets, layout information (N-UP, book-binding print,etc.) of the document data, stapling instruction, punching instruction,and the like.

[0090] The outputting method designating portion is a portion to storeinformation such as distribution print, color/monochromatic distributionprint, substitute print, multiple address print, and the like as anoutputting method.

[0091] The group printer driver set information portion is a portion tostore set information of a UI of a group printer driver, which will beexplained hereinlater.

[0092] The number of member printers is a portion to store the number ofmember printers to which the group printer driver has been made tocorrespond.

[0093] The member printer driver name is a portion to store a name ofthe printer driver of the member printer.

[0094] The member printer driver set information portion is a portion tostore, for example, DEVMODE information as set information of a driverUI of the member printer.

[0095] Each of the member printer driver name and the member printerdriver set information portion has storing areas of the number stored inthe portion of the number of member printers mentioned above.

[0096] In the group printer driver 603 described in FIG. 6 mentionedabove, when the general print file is formed, set contents on the groupprinter driver GUI are recorded into the print instructing portion 8-a.Further, the group printer driver 603 converts the data received by theGDI into the general data and records it as document data into thedocument data portion of the general print file.

[0097] The present file can be also replaced with a file in which theprint instructing portion 8-a and the document data portion 8-b aredifferent. In such a case, the print instructing portion exists as aprint instruction text file, the document data portion exists as adocument data file, and they can be also bound in one archive format andsimilarly handled like one file.

[0098] The print system which is provided by Windows, the relation ofthe print jobs in a print job control system, and an outline ofprocesses in FIG. 7 will be described further in detail.

[0099] In FIG. 7, a print job control system 700 shows a range of theprint job control system over physical machines in which the controlprogram for the server and the client operate. An output port 711 (711A,711B) managed by the server is allowed to correspond to a proxy outputport 712 (712A, 712B) of the job control print service 622 of the clientand integratedly manages all proxy output ports on each client allowedto correspond to one port. In the embodiment, actual print job data isheld in the proxy output port 712 of each client. The job control server630 does not execute a transmitting process of the print job data itselfbut issues only a transmitting instruction of the print job to the jobcontrol print service 622. In accordance with this instruction, the jobcontrol print service 622 transmits the print job data to the printerdevice 650.

[0100] Subsequently, processes in the case where the print job controlsystem 700 executes a print with an additional value such as substituteprint, distribution print, multiple address print, or the like will bedescribed.

[0101] In the case where the print job control system 700 executes aprint with an additional value such as substitute print, distributionprint, multiple address print, or the like, the user or the application601 has to issue the print job to the printer to which the group printerdriver 603 has been allocated. The job control print service 622receives the job data processed by the group printer driver 603 as ageneral print file via the job control port monitor 621. The job controlprint service 622 receives this job and issues a job (member job) toanother printer to which the PDL driver has been allocated via adespooler 701, thereby allowing the printer to print. At this time, thedespooler 701 interprets the print instructing portion 8-a of thegeneral print file described in FIG. 8 mentioned above, modifies thedocument data in the document data portion 8-b, converts it into the GDIof Windows, instructs each printer driver to print, and issues the printjob. For example, if an instruction of 2-UP has been recorded in theprint style instructing portion, the document data of two pages isreduced and arranged (reduction layout) onto one sheet of paper. In caseof the distribution print or the multiple address print, the jobs areissued to a plurality of member printers described in the printinstructing portion 8-a in accordance with those set contents. In caseof the substitute print, when substituting conditions are satisfied,member jobs are issued in accordance with the previous set contents incase of the automatic substitution and are issued in accordance with theoperation of the user in case of the manual substitution.

[0102] When the job is issued to each member printer, the despooler 701needs to form DEVMODE of each member printer as a print instructioncorresponding to the member printer driver. However, this DEVMODE isformed by properly reflecting the contents disclosed in the printinstructing portion 8-a to the DEVMODE of each member printer.

[0103] The job control print service 622 on the client side receives thePDL data of each member job which has been rendered by the PDL driver602 via the job control port monitor 621, notifies the server side ofinformation regarding the received job, and temporarily holds the jobdata into its own proxy output port 712. After that, the job controlprint service 622 receives a transmitting instruction from the jobcontrol server 630 and, subsequently, transmits it to the printer device650.

[0104] An explanation will be made with respect to UI control of theprinter driver for the print job control system for executing a printingprocess such as distribution, multiple address, or substitution by usinga plurality of printers having printer drivers with memory areas such ascommon set area and expansion set area in the embodiment.

[0105]FIG. 9 is a flowchart showing a UI control flow of the groupprinter driver of the invention. It is assumed that a process in eachstep in the flowchart of FIG. 9 is realized by a method whereby the CPU(central processing unit) provided for the information processingapparatus described above reads out a control program stored inpredetermined nonvolatile memory means such as ROM, FD, hard disk (HD),or the like and executes a process based on the read-out program. It isalso assumed that this point is also similarly applied to a flowchart ofeach of FIGS. 13, 14, 15, 17, and 24, which will be explainedhereinlater.

[0106] In step S901, a UI display request to the group printer driver isaccepted from the application via the OS for the control program.

[0107] In step S902, in response to the UI display request in step S901,an identification ID of each member printer driver constructing thegroup printer driver is inquired by using a print job control systemAPI, thereby obtaining the identification IDs of all of the memberprinter drivers constructing the group printer driver. A name of eachmember printer driver or another information for identifying it can beapplied as an identification ID.

[0108] In step S903, ability of the member printer driver is obtainedfrom the identification ID of each member printer driver obtained instep S902 (a response is obtained by inquiring). This step correspondsto a process for reading out a result of discrimination about whetherthe member printer driver is a “function controllable driver” in whichthe driver function can be obtained up to the portion of the expansionarea of the driver set information and the driver UI control can be madeor another driver, that is, a “function uncontrollable driver” withrespect to all of the member printer drivers constructing the groupprinter driver.

[0109] In step S904, a construction of the member printer driver isdiscriminated from information about whether the function iscontrollable or uncontrollable which was read out in step S903. As aresult of the discrimination in step S904, if it is determined that thegroup printer driver is constructed by only the “function controllabledrivers”, the processing routine advances to step S905. If it isdetermined that the group printer driver is constructed by otherdrivers, the processing routine advances to step S906.

[0110]FIG. 10 is a table showing a correspondence between kinds ofconstructions of the member printer drivers constructing the groupprinter driver in the invention and items which can be set.

[0111]FIG. 11 is a table showing a correspondence among common setitems, expansion set items, and set items.

[0112] In the present invention, the common set items are classified andspecified as items existing in the foregoing common set area, and theexpansion set items are classified and specified as items existing inthe foregoing expansion set area. Although there is a case where theclassification of the set items differs or a case where there is achange in items which can be set in dependence on a difference of the OSby which the print job control system operates, naturally, the UIcontrol flow of the invention is effective.

[0113]FIG. 13 is a flowchart showing the detailed process of step S905.

[0114] In step S1301, ability regarding each common set item of eachmember printer driver is inquired, a conflicting process of the functionis executed, and items to be displayed by the group printer driver UIare selected on the basis of a result of the conflicting process.

[0115] The conflicting process of the function denotes a process suchthat the presence or absence of the function of each set item isdiscriminated with respect to each member printer driver serving as atarget of the group printer driver, if there are functions (items) inall of the target member printer drivers every set item, the UI displaycontrol is made by the group printer driver UI so that the functions(items) are set to the items which can be set, and if there is at leastone member printer driver without a function, such an item is set to theitem which cannot be set.

[0116] The above UI control will now be described with respect tospecific examples.

[0117] A printer driver A in FIG. 12 shows the group printer driver andprinter drivers B, C, and D indicate the member printer driversconstructing the group printer driver. In the table, “present” and“absent” are obtained by this control program and indicate whether eachmember printer driver supports the book-binding printing function,stapling function, or punching function or not. Naturally, the abovepoint is also similarly applied with respect to other predeterminedfunctions (set items).

[0118] First, when attention is paid to the book-binding printingfunction, although the drivers B and D have the book-binding printingfunction, since the driver C does not have such a function, the item of“book-binding printing function” of the group printer driver A is“absent”.

[0119] Similarly, as for the stapling function, since the functionexists in all of the member printer drivers B, C, and D, the item of“stapling function” of the group printer driver A is “present”. As forthe punching function, since the function does not exist in all of themember printer drivers B, C, and D, the item of “punching function” ofthe group printer driver A is “absent”.

[0120] In step S1302, the conflicting process of the functions shown inthe above step is executed with respect to the expansion set items ofeach member printer driver.

[0121] In step S1303, the group printer driver UI display is performedon the basis of the results of the conflicting processes executed insteps S1301 and 1302, and the setting for each set item is performed inaccordance with an operating instruction by the user.

[0122] With respect to the item without the function (for example,“book-binding printing function” in FIG. 12) as a result of theconflict, control is made so that it cannot be set on the UI, forexample, the predetermined target item which is disabled to be set isgray-out displayed or is not displayed. With respect to the items havingthe functions, such display control is not performed.

[0123]FIGS. 16A and 16B show specific examples of the gray-out controland non-display control of the user interface corresponding to stepS1303. Dialog boxes of the duplex print and book-binding print of theset items are portions subjected to the UI control.

[0124] In step S1303, the UI control is made so that a combination whichis impossible on the functions, such as a combination of the designationof, for example, the punching function and the stapling function at thetime when “book-binding print” is designated by the user cannot be set,thereby preventing the occurrence of contradiction in the set items.

[0125] In step S1304, with respect to the items in which there is no setitem on the group printer driver UI, that is, the items subjected to theUI display control of the non-display as described above as targets, theuser interface of the member printer driver is individually displayedand in order to perform the detailed setting via the displayedindividual user interface of the member printer driver, the memberprinter drivers as setting targets are designated from the group printerdriver UI. The member printer drivers as designation targets are themember printer drivers constructing the group printer driver andcorrespond to, for example, the predetermined member printer driversselected from Printer A, Printer B, Printer C, etc. in FIG. 18 inaccordance with an input of a pointing device such as a mouse or thelike.

[0126] In step S1305, the member printer driver UI designated in stepS1304 is opened and the detailed setting is performed.

[0127] In the case where the member printer driver UI is called via thegroup printer driver UI and displayed, if the predetermined items whichcan be set via the group printer driver can be also set via the memberprinter driver UI, the same function is set to both of them. Therefore,the setting process is executed twice. According to the invention,therefore, the following UI control is made and the displaying processof the member printer driver is executed.

[0128] (1) If the member printer driver is the “function controllabledriver”, with respect to the item which conflicts with the set items onthe group printer driver UI, the UI control is made in a manner suchthat such an item cannot be set on the member printer driver UI by amethod whereby such an item is gray-out displayed, is not displayed, orthe like. It is also possible to construct in a manner such that the UIis displayed so that a setting instruction can be performed and, whenthe setting is performed, a warning or the like is displayed, and theinstructed setting is invalidated.

[0129] (2) If the member printer driver is the “function uncontrollabledriver”, with respect to the common set items, the UI is displayed inthe setting state set via the group printer driver UI. After completionof the display control of the member printer driver UI, if the itemswhich have been preset via the group printer driver UI are changed viathe member printer driver UI, control is made in a manner such that whena process for closing the member printer driver UI is executed, theinformation of the set items set by the group printer driver isoverwritten onto the common set items of the member printer driver, andthe change in setting on the member printer driver UI is not permitted.

[0130] Display control such that when the overwriting process isexecuted, a warning showing that the setting change on the memberprinter driver UI is invalid is displayed is also presumed.

[0131] Since step S1305 corresponds to the discriminating process instep S904 showing that all of the target member printer drivers are the“function controllable drivers”, the foregoing UI control (1) isexecuted.

[0132]FIG. 14 is a flowchart showing the detailed process of step S906.

[0133] The process in this flowchart corresponds to a process in thecase where the member printer drivers are constructed by a mixture ofthe “function controllable drivers” and the “function uncontrollabledrivers” or by only the “function uncontrollable drivers” unlike thecase where the processing routine advances to step S905. Therefore, theitems which can be set by the group printer driver UI are limited to thecommon set items in which the set information can be read out andwritten in common.

[0134] In step S1401, in a manner similar to step S1301, abilityregarding each common set item of each member printer driver isinquired, the conflicting process regarding each function (each item) isexecuted, and the items which are displayed by the group printer driverUI are further selected (extracted) from the common set items on thebasis of the result of the conflicting process.

[0135] In step S1402, the group printer driver UI is displayed on thebasis of the result of the UI conflicting process performed in stepS1401. With respect to the items having no function or the expansion setitems as a result of the conflict, control is made so that they cannotbe set on the UI by a method whereby it is gray-out displayed, is notdisplayed, or the like as described above.

[0136] In step S1403, whether an instruction to open the UI of themember printer driver in order to set each item or expansion set items(unique set items which each member printer driver has) controlled sothat they cannot be set in step S1402 has been issued or not isdiscriminated.

[0137] When it is recognized that the member printer driver has beendesignated via the group printer driver UI so as to be set in detail,the processing routine advances to step S1404.

[0138] In step S1404, the UI of the member printer driver designated instep S1403 is opened, thereby allowing the setting of the individualmember printer driver to be performed in accordance with the instructioninputted via the pointing device such as a mouse or the like. Thedesignation of the predetermined member printer driver is performed, forexample, via the UI of the group printer driver shown in FIG. 18 in amanner similar to FIG. 13.

[0139]FIG. 15 is a flowchart showing further details of the process ofstep S1404.

[0140] In step S1501, the kind of member printer driver isdiscriminated.

[0141] If the designated member printer driver serving as a target isthe “function controllable driver”, step S1502 follows. Unlessotherwise, the processing routine advances to step S1503.

[0142] The discrimination of the kind of member printer driver isrealized, for example, by a process such that when the expansion setitems are read out via the OS, whether the obtained data is data whichcan be recognized or not is discriminated, that is, if the data isrecognized, the driver is determined to be the “function controllabledriver”, or a process for discriminating the identification informationor the like of the providing source allocated to the member printerdriver.

[0143] In step S1502, the control of the common set item UI of themember printer driver is made in accordance with the rule shown in (1)in step S1305. The UI display control subjected to the gray-out controlor the like of the UI is made to the common set items. A predeterminedprint setting is executed via the member printer driver UI to which thedisplay control has been made.

[0144] In step S1503, the display control of the common set item UI ofthe member printer driver is made in accordance with the rule shown in(2) in step S1305. The detailed print setting is executed via the UI towhich the display control has been made.

[0145] If all of the setting operations are finished on the groupprinter driver UI in step S907, by pressing an “end of setting” button,the processing routine advances to a series of processes for finishingthe setting.

[0146] In step S908, whether the items set by the group printer driverare not contradictory as set items of each member printer driver or notis discriminated.

[0147] Specifically speaking, the printer has an item which isintimately concerned with the function which the device has. Forexample, in case of the printer A, the position on the paper of the A4size where the stapling operation is possible is limited to only theupper left position of the paper and in case of the printer B, theposition on the paper of the A4 size where the stapling operation ispossible is limited to only the lower left position of the paper.

[0148] In this step, in addition to the conflict check executed in stepS1303 for each member printer driver, that is, the conflict check aboutthe combination which is impossible on the setting functions, whetherthe items set on the group printer driver UI can be reflected to eachmember printer driver, as set items of each member printer driver, ornot is discriminated with regard to the member printer drivers astargets.

[0149] In step S909, a result of the conflict check executed in stepS908 is discriminated.

[0150] If the set items set on the group printer driver UI are proper inall of the member printer drivers, the processing routine advances tostep S912. The process for displaying the group printer driver UI isfinished.

[0151] If it is determined in step S909 that the item which will cause aconflict (inconvenience) exists among the set items, step S910 follows.A “reset” button and a “forced” button are UI displayed together with amessage “set items are reset on the group printer driver UI?” or“printing process is executed in the present set items?”.

[0152] In step S911, whether the “reset” button or the “forced” buttonhas been pressed is discriminated. If the “reset” button is pressed, theprocessing routine is returned to a just-previous process in step S1303(in the case where the member printer driver is the “functioncontrollable driver”) or step S1402 (in the case where the memberprinter driver is the “function uncontrollable driver”) in accordancewith the construction of the member printer driver.

[0153] If the “forced” button is pressed, the processing routineadvances to a process in step S912 and the process for displaying thegroup printer driver UI is finished.

[0154] A relation between the recording of the information set by theforegoing UI and the foregoing general print file in FIG. 8 in theembodiment will now be described.

[0155] In the embodiment, with respect to the information set by theforegoing UI, the driver set information (DEVMODE) of the group printerdriver is recorded into the foregoing print instructing portion in thegeneral print file described in FIG. 8 in each of the common area andthe expansion area. Driver set information (DEVMODE) of each memberprinter driver is recorded into the driver information setting portionof the member printer driver in the general print file in each of thecommon area and the expansion area.

[0156] After that, the general print file is used in the printingprocess using the foregoing print job control system and the print inthe embodiment can be executed.

[0157] A display state of the user interface of the group printer driverin step S1303 or S1402 mentioned above will now be described.

[0158] In the embodiment, by opening the group printer driver UI, adesired outputting method of the user can be properly selected from aplurality of kinds of outputting methods. For example, the outputtingmethod of one of the ratio distribution, color/black and whitedistribution, multiple address, and automatic substitution can be set.By designating and setting the member printer driver for each mode, aplurality of print instructions can be made from one printer driver.

[0159]FIG. 17 is a flowchart showing the UI operation flow in theembodiment.

[0160] First, in step S1701, the outputting method is designated. As anoutputting method, one of the ratio distribution, color/black and whitedistribution, multiple address, and automatic substitution can beselected as mentioned above. However, the invention is not limited tothem. Naturally, another outputting method of the printing process for aplurality of printer devices as targets can be also applied.

[0161] In next step S1702, the member printer driver designated in eachoutputting method is registered. The member printer driver registeredevery outputting method corresponds to the member printer driver whichis displayed in accordance with the outputting method designated by thepresent control program. A combination of the member printer driverswhich have been registered every outputting method and is constructedevery outputting method is concerned with a process such that thepresent control program recognizes the outputting methods designated viathe group printer driver UI and controls so as to switch and display themember printer driver corresponding to the recognized predeterminedoutputting method.

[0162] In next step S1703, detailed designation of each outputtingmethod is performed as will be explained hereinlater.

[0163] In next step S1704, the member printer driver as a conflicttarget in each outputting method is set. The member printer driver as aconflict target corresponding to each outputting method corresponds tothe member printer driver registered in step S1702. Further, theconflicting process regarding the group printer driver and the memberprinter drivers described in FIGS. 9 to 16A and 16B is executed to themember printer drivers set here.

[0164] By the processes in the flowchart of FIG. 17, when the setting ofthe outputting method is switched in accordance with the selection ofthe outputting method by the group printer driver which can control aplurality of member printer drivers, control is made in a manner suchthat the display of the user interface for setting the outputting methodcan be switched in accordance with the kind of switched outputtingmethod. Therefore, even if the outputting method is properly changed,the user can obtain the user interface for performing the optimum printsetting to the changed outputting method. The user interface forperforming the optimum print setting according to the outputting methodis based on the conflicting process as described in FIGS. 9 to 16B orrelates to the print setting that is peculiar to each outputting method,which will be explained hereinlater. As will be also explainedhereinlater, the detailed method of the conflicting process also differsdepending on each outputting method and the user interface for the printsetting according to the outputting method also differs in accordancewith the different outputting method.

[0165] As one example of the embodiment, if the ratio distribution (samemeaning as the distribution print) is selected as an outputting method,it is assumed that the member printer drivers as conflict targets areset to the printer drivers of all of the member printers on thedistribution destination side as targets.

[0166] In next step S1705, each of the set items is recorded. Therecording of the set items is realized by recording them into thegeneral print file described in FIG. 8. For example, the set items arerecorded by using the print instructing portion 8-a of the general printfile, particularly, by using the outputting method designating portionin the set items in step S1701. In the set items in step S1702, they arerecorded by using the number of member printers, the member printerdriver name, and the member printer driver set information portion. Inthe set items in step S1703, they are recorded by using the groupprinter driver set information portion.

[0167] The user interface (group printer driver UI) in the embodimentwill be specifically explained with reference to FIG. 18.

[0168] In FIG. 18, reference numeral 1801 denotes a combo box forselecting and designating the outputting method described in step S1701in FIG. 17 mentioned above. When the combo box 1801 is instructed via apointing device such as a mouse or the like, a list of a plurality ofoutputting methods is displayed and a predetermined outputting method isdesignated from the displayed list.

[0169] Reference numeral 1802 denotes a button for opening the UI toregister the member printer drivers described in step S1702 in FIG. 17.The UI which is opened here will be explained hereinlater.

[0170] Reference numeral 1803 in FIG. 18 denotes a list box fordisplaying a list of the registered member printer drivers after themember printer drivers were registered.

[0171] In the example of this UI, together with the names of the memberprinter drivers, various information regarding the member printerdrivers is also displayed. Contents of the list display are also changedin accordance with the outputting method designated in step S1701mentioned above. That is, the system has the construction of the memberprinter drivers every plural kinds of outputting methods. Thus, the usercan easily call the suitable member printer drivers every outputtingmethod and there is no need to register a new member printer driverseach time the outputting method is changed.

[0172] Reference numeral 1807 denotes check boxes for preventing thatthe registered member printer drivers described in S1702 in FIG. 17mentioned above are not temporarily included in the construction asoutput target printer drivers or adding them into the construction ofthe member printer drivers from such a state where they are notincluded. If the check boxes 1807 are marked, the member printer driversare regarded as target printer drivers. If the check boxes 1807 are notmarked, a process for temporarily removing the member printer driversfrom the target printer drivers is executed. That is, this processcorresponds to the primary registering process of the member printerdrivers in step S1702 mentioned above and the process for setting themember printer drivers to the target printer drivers of the actualprinting process by marking the check boxes corresponds to the secondaryregistering process.

[0173] As mentioned above, in the registration of the member printerdrivers, the setting mechanism of two stages of the primary registrationand the secondary registration can be realized by the invention. Forexample, in the ordinary distribution print, with respect to thepredetermined member printer driver as a target of the printing process,the predetermined member printer driver can be temporarily removed fromthe targets due to a failure or the like of the printing apparatuscorresponding to such a member printer driver, or contrarily, if thefailed printing apparatus is recovered, this member printer driver canbe again set to the member printer driver which is activated at the timeof the actual printing process by marking the check box. The aboveoperation is realized by a construction such that the member printerdrivers registered every outputting method in step S1702 and theinformation of the discrimination about whether the member printerdrivers have been set to the member printer drivers which are used bymarking the check boxes or not are independently held in predeterminedstoring portions, respectively.

[0174] Further, in the invention, the primary registration and thesecondary registration described above can be set every pluraloutputting methods, and the primary registration and the secondaryregistration are independently processed for each of the multipleaddress print, color/black and white distribution print, and substituteprint, which will be explained hereinlater, as well as the ratiodistribution print. The above process can be realized by having aconstruction such that the setting states of the primary registrationand the secondary registration are stored and held into thepredetermined storing portions and, further, a construction such thatthe held information is referred to and displayed. In case of holdingthe setting states of the primary registration and the secondaryregistration every outputting method, a similar effect is obtained bynot only a method whereby the set information of the primaryregistration and the secondary registration is completely stored everyplural outputting methods but also a method whereby the primaryregistration and the secondary registration are independently set for atleast two or more outputting methods.

[0175] Reference numeral 1806 denotes a display column of attributeinformation of each device. This display column corresponds to a columnwhere the attribute information of the device corresponding to eachmember printer driver set in the group printer driver is displayedtogether with the names of the member printer drivers in accordance withthe display control of the control program.

[0176] Reference numeral 1804 in FIG. 18 denotes a button for openingthe UI for designating details of the outputting method in step S1703 inFIG. 17 mentioned above. Contents of the detailed setting are alsochanged in accordance with the outputting method designated in stepS1701 mentioned above.

[0177] Reference numeral 1805 in FIG. 18 denotes a button for displayingthe member printer driver UI for performing the detailed print settingof the member printer driver. With respect to a predetermined memberprinter driver inputted and instructed via the pointing device such as amouse or the like from the list of the list box 1803, when a depressionsignal of the button 1805 is inputted to the information processingapparatus, the UI of the member printer driver recognized as beingselected is called and displayed.

[0178] When the individual UI of the member printer driver is called anddisplayed, the conflicting process is executed to the member printerdriver set in step S1704 in FIG. 17 mentioned above. The UI of themember printer driver to which a result of the conflicting process hasbeen reflected is displayed.

[0179] Subsequently, registration/deletion of the member printer driverwill be described with reference to FIG. 19.

[0180]FIG. 19 is a diagram showing the UI which is displayed when thecontrol program recognizes the depression signal of an“addition/deletion of device” button 1802 in FIG. 18 described above.

[0181] In FIG. 19, reference numeral 1901 denotes a list box fordisplaying a list of member printer drivers which can be selected. Themember printer drivers which can be selected denote printer drivers towhich the port which can be handled by the present system has beenallocated and which have been installed, and denote printer driverswhose existence can be recognized by the present control system.

[0182] Reference numeral 1902 denotes a list box for displaying a listof the selected member printer drivers. A desired member printer can beadded and deleted to/from the list of the selectable member printers byoperating buttons 1903, 1904, 1905, and 1906.

[0183] When a depression signal of the button 1903 is recognized, aprocess for adding the printer driver selected at the time of depressionin the list box 1901 as one component element of the member printerdrivers is executed.

[0184] When a depression signal of the button 1904 is recognized,control is made so that the member printer drivers displayed in the listbox 1902 are constructed with respect to all of the printer driversshown in the list 1901 as targets.

[0185] Reference numeral 1905 denotes the button for removing a desiredmember printer driver from the member printer drivers on the contrary tothe cases of the buttons 1903 and 1904. When depression signals of thebuttons 1903 and 1905 are recognized, the target member printer driversare controlled so as to remove the desired member printer driver fromthe construction of the member printer drivers in the list 1902.

[0186] The detailed setting of the outputting method in step S1703 inFIG. 17 mentioned above will now be described with reference to FIG. 20.

[0187]FIG. 20 is a diagram of the UI which is displayed by pressing thebutton 1804 in FIG. 18 mentioned above. This UI corresponds to the UIwhich enables the detailed setting for the member printer driverselected from the list 1803 in FIG. 18.

[0188] Since the ratio distribution has been selected and designatedhere as an outputting method in FIG. 18, the UI which is displayed hereis the UI for performing the ratio setting of the printing process ofeach member printer driver at the time of the distribution print. Adistribution ratio of the designated member printer driver can bedesignated by an integer value.

[0189] (Second Embodiment)

[0190] In the second embodiment, an explanation will be made withrespect to an example in the case where the color/black and whitedistribution has been selected and set as an outputting method in stepS1701 in FIG. 17 in the first embodiment.

[0191] In the second embodiment, a fundamental flow of processes issubstantially the same as that of the first embodiment but the UIs whichare displayed in steps S1702 and S1703 in FIG. 17 and the setting of themember printer drivers as conflict targets which are set in S1704 aremerely different from those in the first embodiment, and otherconstructions are the same. Therefore, it is assumed that only portionswhich are peculiar to those examples are extracted and explained.

[0192]FIG. 21 is a diagram showing an example of a display state of theUI of the group printer driver at the time when the color/black andwhite distribution has been designated as an outputting method in stepS1701 in FIG. 17.

[0193] The color/black and white distribution denotes a form such that acolor page in a document is controlled so as to be processed by a colorprinter driver, a black and white page is controlled so as to beprocessed by a monochromatic printer driver, and they are printed andoutputted by a color printer device and a monochromatic printer device,respectively. As a member printer construction, one color printer andone monochromatic printer are used. That is, the member printer driversare constructed by a printer driver corresponding to the color printerdevice and a printer driver corresponding to the monochromatic printerdevice. A member printer driver UI for performing the detailed settingof each member printer driver can be displayed by the operation similarto that in the case described in FIG. 18.

[0194] In correspondence to the form as shown in FIG. 21, the colorprinter driver and the monochromatic printer driver are respectivelyregistered in step S1702 in FIG. 17 and the user interface as shown inFIG. 21 is constructed.

[0195] In the detailed designation of the outputting method in stepS1703 in FIG. 17, according to the embodiment, a button to instruct thefurther detailed designation of the outputting method such as a “setratio” button described in FIG. 18 is not displayed. However, forexample, in a display picture plane of FIG. 21, it is also possible toprovide a button for performing the detailed setting regarding asubstitute destination such as a discrimination about whether thesubstitute print by the monochromatic printer is permitted to thesubstitute destination at the time of a fault substitution in the colorprinter or not, or the like.

[0196] Further, with respect to the setting of the member printer as aconflict target in step S1704 in FIG. 17, in the second embodiment, ifthe color/monochromatic distribution has been selected as an outputtingmethod, as for the member printer as a conflict target, it is alsopossible to presume a form such that the conflicting process is executedto the set items regarding the color by the member printer drivercorresponding to the color printer, and the conflicting process isexecuted to other print items by a combination of the member printerdriver corresponding to the color printer and the member printer drivercorresponding to the monochromatic printer. That is, in the case wherethe printer driver of the color printer and the printer driver of themonochromatic printer have been selected as member printer drivers inthe color/monochromatic distribution, respectively, setting possibleinformation of the member printer driver of the color printer isreferred to with respect to the items peculiar to the color printer,with respect to the items (for example, paper size and the like) whichare referred to in common by the color printer and the monochromaticprinter, the items of both of the member printer drivers are referredto, and the conflicting process is executed.

[0197] For example, although the set item regarding the color in FIG. 11is only the gray scale of the common set items, it is shown as anexample, and naturally, a case where other items are changed/added independence on the functions of the member printer drivers is properlypresumed.

[0198] (Third Embodiment)

[0199] In the third embodiment, an explanation will be made with respectto an example in the case where the multiple address has been selectedand set as an outputting method in step S1701 in FIG. 17 in the firstembodiment.

[0200] In the third embodiment, a fundamental flow of processes issubstantially the same as that of the first embodiment but the UIs whichare displayed in steps S1702 and S1703 in FIG. 17 and the setting of themember printer drivers as conflict targets which are set in S1704 aremerely different from those in the first embodiment, and otherconstructions are the same. Therefore, different points will beexplained particularly in detail.

[0201]FIG. 22 is a diagram showing an example of a display state of theUI in the case where the multiple address print has been selected andset as an outputting method via the predetermined pointing device suchas a mouse or the like.

[0202] The multiple address print indicates a print outputting methodwhereby all of a plurality of member printer drivers in which a document(print data) whose number of copies is equal to one are allowed toexecute the printing process and the devices corresponding to the pluralmember printer drivers are allowed to execute the same document print.

[0203] As a construction of the member printer drivers, a plurality ofmember printer drivers can be registered in a manner similar to the casedescribed in the ratio distribution (distribution print).

[0204] The UI corresponding to each of the member printer drivers can bealso opened and this process is realized in accordance with theoperation similar to that described in FIG. 18. When a depression signalindicative of “property of driver” in FIG. 22 is inputted to theinformation processing apparatus with respect to the predeterminedmember printer drivers which were inputted and designated from aplurality of output destination devices (Printer A, Printer B, andPrinter C in FIG. 22) in FIG. 22 via the pointing device such as a mouseor the like, the UIs of the member printer drivers which are recognizedas being selected are called and displayed.

[0205] If the multi address print has been set as an outputting methodin correspondence to step S1701 in FIG. 17, in a manner similar to thecase of the ratio distribution described above, the UI as shown in FIG.19 is displayed in response to an input of a depression signal of the“addition/deletion of device” button in FIG. 22, so that theregistration/deletion of the member printer drivers which are activatedin the multi address print is realized (corresponding to step S1702 inFIG. 17).

[0206] With respect to the detailed setting of the outputting method(detailed setting regarding the multi address print in the thirdembodiment) corresponding to step S1703 in FIG. 17, in case of FIG. 22,the button to perform the detailed setting is not particularly displayedfor the multi address print. However, for example, it is also possibleto construct in a manner such that if some trouble occurs in theprinters on the multi address print destination side or in the printerdrivers and the print data (PDL or intermediate file data) formednormally is not transmitted, the number of times for retrying thetransmission of the print data or the like can be set.

[0207] If the multi address print has been set as an outputting methodin the third embodiment, according to the process corresponding to theconflicting process in step S1704 in FIG. 17, since all of the memberprinter drivers become the targets of the conflicting process in amanner similar to the case of the ratio distribution print, its detaileddescription is omitted.

[0208] (Fourth Embodiment)

[0209] In the fourth embodiment, an explanation will be made withrespect to an example in the case where the automatic substitute printhas been selected and designated as an outputting method in step S1701in FIG. 17 in the first embodiment.

[0210] In the fourth embodiment, a fundamental flow of processes issubstantially the same as that of the first embodiment but the UIs whichare displayed in steps S1702 and S1703 in FIG. 17 and the control ofextraction of the target member printer drivers of the conflictingprocess which is executed in step S1704 can be mentioned as points whichare different from those in the first embodiment, and a detailedexplanation of other processes with respect to portions similar to thosein the first to third embodiments is omitted here.

[0211]FIG. 23 is a diagram showing an example of a display state of theUI in the case where the automatic substitute print has been selectedand set as an outputting method in step S1701 in FIG. 17.

[0212] In the automatic substitute print in the fourth embodiment, apriority is allocated to each of the member printer drivers, and first,the print is preferentially executed by the member printer driver havingthe highest set priority. If an error such as absence of toner or thelike occurs in the printer device to be subjected to the printingprocess at present and the print becomes impossible, control is made soas to allow the member printer driver having the second highest priorityto automatically execute the printing process.

[0213] In this case, as a construction of the member printer drivers, ina manner similar to the case of the ratio distribution (distributionprint), a plurality of member printer drivers can be registered and thecontrol program has a function for setting the priority to each memberprinter driver.

[0214] In FIG. 23, reference numerals 2301 and 2302 denote buttons forchanging the priority of each member printer driver. In the example ofthis UI, the priority of the member printer coincides with the orderwritten in a member printer list 2303.

[0215] Therefore, a desired member printer driver is selected from thelist 2303 and the order on the member printer list can be raised by one(upward movement display) by operating the button 2301 and the prioritycan be also raised.

[0216] The order on the member printer list can be reduced by one(downward movement display) by operating the button 2302 and thepriority can be also reduced. Since the process to open the GUI of eachmember printer can be realized by a process similar to that described inFIG. 18 and the like, its detailed description is omitted here.

[0217] The registration (addition/deletion) of the member printer drivercorresponding to step S1702 in FIG. 17 is also executed in a manner asdescribed in the second embodiment. Control so as to display the UIsimilar to that shown in FIG. 19 is made and a registering/deletingprocess of the member printers is executed.

[0218] Since the process for the detailed setting of the outputtingmethod in step S1703 in FIG. 17 does not particularly exist in theembodiment, a button for such a process is not provided in the UI ofFIG. 19.

[0219] As for the setting of the member printer driver serving as atarget of the conflicting process in step S1704 in FIG. 17, if theautomatic substitute print has been set as an outputting method, a formsuch that, as a member printer driver of the conflict target, thesetting conditions of the member printer driver having the highestpriority are preferentially used is presumed. By selecting the settingof the member printer driver having the highest priority as mentionedabove, even if the substitute printing process is executed, a situationsuch that the setting in the member printer driver having the highestpriority is limited can be prevented. Naturally, a form such that theconflicting process to perform an AND process for discriminating thepresence or absence of each set item is executed with respect to all ofthe member printer drivers registered as targets in a manner similar tothe first embodiment is also presumed.

[0220] As mentioned above, as shown in FIGS. 18, 21, 22, and 23, themember printer drivers can be registered every outputting method inaccordance with the designation of the outputting method, and theconstruction of the registered member printer drivers is switched anddisplayed in accordance with the designation of the outputting method.Therefore, the user can easily recognize the member printer driverswhich are managed every outputting method and use them.

[0221] Processes for setting and obtaining the device information(attribute information of the device) shown at 1806 in FIG. 18 will nowbe described with reference to FIG. 24.

[0222]FIG. 24 shows a flowchart for setting the printer driver which isinstalled into the system so as to become the target of the memberprinter when the system is set up and, at the same time, setting(obtaining) information of the device.

[0223] First, in step S2401, the setup is started.

[0224] Next, in step S2402, the printer drivers serving as targets ofthe member printers are selected and set to targets of the installation.

[0225] Subsequently, in step S2403, the selected printer drivers areinstalled and registered and set as member printer drivers. That is, thedrivers installed in step S2403 are registered as member printer driversin step S1702 in FIG. 17 described above.

[0226] The device information of each printer driver installed in stepS2403 is obtained. As device information, as attributes of the targetdevices of the installed printer drivers, for example, information ofwhether a support paper size is equal to A3, A4, or B5, whether a duplexprint is possible or not, whether a stapling print is possible or not,and other information about a finishing function regarding whetherpunching holes can be formed or not, whether a Z-folding process ispossible or not, or the like are inputted. As a form of obtaining thedevice information, the following forms are presumed: that is, a formsuch that each of the installed printer drivers inquires of thecorresponding printer device via a predetermined network and obtains thedevice information and the control program obtains this deviceinformation; a form such that the control program obtains the deviceinformation which the member printer drivers preliminarily have asdefault values; or a form such that set values inputted from thekeyboard or the like are registered as device information.

[0227] Subsequently, in step S2405, whether the installation of thetarget member printer drivers has been completed or not isdiscriminated. If it is not completed, the processing routine isreturned to step S2402 and the process for registering the printerdriver selected in accordance with a predetermined selecting operationas a member printer driver is repeated. On the other hand, if theinstallation has been completed, the processing routine advances to stepS2406. The discrimination about the completion is made by, for example,recognizing the selection of “Yes” or “No” by the user in response to amessage “installation is completed?” displayed in the display unit ofthe information processing apparatus.

[0228] In step S2406, the set values of the attribute information of thedevice obtained in step S2404 are stored and held into, for example, aregistry or the like of the system together with the name of the printerdriver. The attributes of the device obtained in step S2404 are heldinto a predetermined storing portion together with the construction ofthe member printer drivers in accordance with each of the outputtingmethods registered in step S1702.

[0229] The device information shown in 1806 in FIG. 18 corresponds tothe information which has been held in step S2406 and has been displayedevery relevant member printer.

[0230] As mentioned above, since the attribute information of the devicecorresponding to each printer driver is displayed together with thenames of the member printer drivers constructing the group printerdriver, the user can know at a glance which attributes (functions) thedevices corresponding to a plurality of member printer drivers have.With respect to the primary registration and the secondary registrationdescribed in 1806 in FIG. 18, since the attribute informationcorresponding to each member printer driver is displayed by theprocesses shown in the flowchart of FIG. 24, an effect such that theuser can easily decide whether the secondary registration is performedor not from the member printer drivers which have properly beenprimary-registered in accordance with a demand of print.

[0231] (Other Embodiments)

[0232] The objects of the invention are also accomplished by a methodwhereby a memory medium in which program codes of software to realizethe functions of the embodiments mentioned above have been stored issupplied to a system or an apparatus, and a computer (or a CPU or anMPU) of the system or apparatus reads out the program codes stored inthe memory medium and executes them.

[0233] In this case, the program codes themselves read out from thememory medium realize the functions of the embodiments mentioned above.The memory medium in which the program codes have been stored constructsthe invention.

[0234] As a memory medium for supplying the program codes, for example,a floppy disk, a hard disk, an optical disk, a magnetooptic disk, aCD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, an ROM, orthe like can be used.

[0235] The invention incorporates not only a case where a computerexecutes the read-out program codes, so that the functions of theembodiments mentioned above are realized but also a case where an OS(Operating System) or the like which operates on the computer executes apart or all of actual processes on the basis of instructions of theprogram codes, and the functions of the embodiments mentioned above arerealized by those processes.

[0236] Further, the invention incorporates a case where the programcodes read out from the memory medium are written into a memory equippedfor a function expanding board inserted in a computer or a functionexpanding unit connected to a computer and, thereafter, a CPU or thelike equipped for the function expanding board or function expandingunit executes a part or all of actual processes on the basis ofinstructions of the program codes, and the functions of the embodimentsmentioned above are realized by those processes.

[0237] As mentioned above, according to the embodiments, in the printprocessing system for controlling print jobs to a plurality of imageinput/output apparatuses bound to one virtual image input/outputapparatus, the outputting method such as ratio distribution, color/blackand white distribution, multiple address, automatic substitution, or thelike can be switched on the driver for one virtual image input/outputapparatus and the print can be executed. The construction of a pluralityof image input/output apparatuses bound on the driver corresponding toone virtual image input/output apparatus can be changed.

[0238] In association with the change in outputting method, the UIcontrol of the driver corresponding to one virtual image input/outputapparatus and the UI control of each of the drivers corresponding to aplurality of image input/output apparatuses bound to such a driver canbe switched and the data can be outputted.

[0239] As described above, according to the invention, upon constructionof the printer drivers of the distribution print, multiple addressprint, automatic substitute print, and the like, reconstruction of acombination of the printer drivers can be easily realized.

[0240] A construction for enabling the flexible registering process tobe more easily realized can be provided while providing a mechanismwhich enables the flexible registering process upon registration of theprinter driver.

What is claimed is:
 1. A print control method by a virtual printer whichcan control a plurality of member printers, comprising: a switching stepof switching an outputting method in accordance with an instructed oneof a plurality of outputting methods which can be controlled by saidvirtual printer; and a control step of controlling so as to switch adisplay of a user interface for setting said outputting method inaccordance with a kind of outputting method switched by said switchingstep.
 2. A method according to claim 1, wherein control is made in amanner such that in accordance with that the outputting method has beenchanged by said switching step, in said control step, informationindicative of a construction of the member printers corresponding tosaid outputting method is switched and displayed.
 3. A method accordingto claim 1, further comprising a registering step of registering aconstruction of the member printers every kinds of said plurality ofoutputting methods.
 4. A method according to claim 3, further comprisinga setting step of setting so that the member printer which is used for aprinting process is selected from a plurality of member printersregistered in said registering step.
 5. A method according to claim 4,wherein said setting step is executed among a plurality of memberprinters corresponding to every plural kinds of outputting methods, andsaid method further comprises a holding step of holding, everyoutputting method, information showing which member printers have beenset by said setting step among said plurality of member printers setevery said plural kinds of outputting methods.
 6. A method according toclaim 4, further comprising removing step of removing one of saidplurality of member printers set by said setting step as printer driverswhich are used for the printing process from the member printers whichare used for the printing process.
 7. A method according to claim 5,wherein in said holding step, one of said plurality of member printersremoved by said removing step is held in a form such that it can be setas a member printer which is used again for the printing process withoutperforming the registration by said registering step.
 8. A methodaccording to claim 1, wherein said outputting methods include at leasttwo or more of a ratio distribution print, a color/black and whitedistribution print, a multiple address print, and an automaticsubstitute print.
 9. A method according to claim 8, wherein if saidratio distribution print is designated from said plurality of outputtingmethods, in said control step, control is made so as to provide a userinterface for performing a ratio setting.
 10. A method according toclaim 8, wherein if said color/black and white distribution print isdesignated from said plurality of outputting methods, in said controlstep, control is made so that the member printer for performing saidcolor printing process and the member printer for performing said blackand white printing process are displayed in a manner such that saidmember printers can be identified to be the member printer correspondingto color and the member printer corresponding to black and white,respectively.
 11. A method according to claim 8, wherein if saidmultiple address print is designated from said plurality of outputtingmethods, in said control step, control is made so as to display a buttonfor setting setting locations of said plurality of member printers. 12.A method according to claim 8, wherein if said automatic substituteprint is designated from said plurality of outputting methods, in saidcontrol step, control is made so as to display a setting button forsetting a priority.
 13. A method according to claim 1, furthercomprising: an extracting step of making set items which can be setdifferent and extracting them in accordance with a combination of kindsof said plurality of member printers; and a display control step ofcontrolling so that the set items extracted in said extracting step areset to items which can be set on a setting picture plane of said virtualprinter.
 14. A print control apparatus for executing control by avirtual printer which can control a plurality of member printers,comprising: switching means for switching an outputting method inaccordance with an instructed one of a plurality of outputting methodswhich can be controlled by said virtual printer; and control means forcontrolling so as to switch a display of a user interface for settingsaid outputting method in accordance with a kind of outputting methodswitched by said switching means.
 15. An apparatus according to claim14, wherein said control means controls in a manner such that inaccordance with that the outputting method has been changed by saidswitching means, information indicative of a construction of the memberprinters corresponding to said outputting method is switched anddisplayed.
 16. An apparatus according to claim 14, further comprisingregistering means for registering a construction of the member printersevery kinds of said plurality of outputting methods.
 17. An apparatusaccording to claim 16, further comprising setting means for setting sothat the member printer which is used for a printing process is selectedfrom a plurality of member printers registered by said registeringmeans.
 18. An apparatus according to claim 17, wherein the settingoperation of said setting means is executed among a plurality of memberprinters corresponding to every plural kinds of outputting methods, andsaid apparatus further comprises holding means for holding, everyoutputting method, information showing which member printers have beenset by said setting means among said plurality of member printers setevery said plural kinds of outputting methods.
 19. An apparatusaccording to claim 17, further comprising removing means for removingone of said plurality of member printers set by said setting means asprinter drivers which are used for the printing process from the memberprinters which are used for the printing process.
 20. An apparatusaccording to claim 18, wherein said holding means holds one of saidplurality of member printers removed by said removing means in a formsuch that it can be set as a member printer which is used again for theprinting process without performing the registration by said registeringmeans.
 21. An apparatus according to claim 14, wherein said outputtingmethods include at least two or more of a ratio distribution print, acolor/black and white distribution print, a multiple address print, andan automatic substitute print.
 22. An apparatus according to claim 21,wherein if said ratio distribution print is designated from saidplurality of outputting methods, said control means controls so as toprovide a user interface for performing a ratio setting.
 23. Anapparatus according to claim 21, wherein if said color/black and whitedistribution print is designated from said plurality of outputtingmethods, said control means controls so that the member printer forperforming said color printing process and the member printer forperforming said black and white printing process are displayed in amanner such that said member printers can be identified to be the memberprinter corresponding to color and the member printer corresponding toblack and white, respectively.
 24. An apparatus according to claim 20,wherein if said multiple address print is designated from said pluralityof outputting methods, said control means controls so as to display abutton for setting setting locations of said plurality of memberprinters.
 25. An apparatus according to claim 21, wherein if saidautomatic substitute print is designated from said plurality ofoutputting methods, said control means controls so as to display asetting button for setting a priority.
 26. An apparatus according toclaim 14, further comprising: extracting means for making set itemswhich can be set different and extracting them in accordance with acombination of kinds of said plurality of member printers; and displaycontrol means for controlling so that the set items extracted by saidextracting means are set to items which can be set on a setting pictureplane of said virtual printer.
 27. A program which is executed by aninformation processing apparatus for realizing a print control method bya virtual printer which can control a plurality of member printers,comprising: a switching step of switching an outputting method inaccordance with an instructed one of a plurality of outputting methodswhich can be controlled by said virtual printer; and a control step ofcontrolling so as to switch a display of a user interface for settingsaid outputting method in accordance with a kind of outputting methodswitched by said switching step.
 28. A computer-readable memory mediumwhich stores a print control program by a virtual printer which cancontrol a plurality of member printers, wherein said program has programcodes comprising: a switching step of switching an outputting method inaccordance with an instructed one of a plurality of outputting methodswhich can be controlled by said virtual printer; and a control step ofcontrolling so as to switch a display of a user interface for settingsaid outputting method in accordance with a kind of outputting methodswitched by said switching step.